﻿//using SXT.DB;
//using SXT.Party.VoteActivity.BLL;
//using SXT.Party.VoteActivity.Model;
//using System;
//using System.Collections.Generic;
//using System.Data;
//using System.Data.SqlClient;
//using System.Linq;
//using System.Text;
//using System.Web;

//namespace ZHDJ.MobileInterface.Common
//{
//    public class Vote
//    {
//        public static string RunVote(string VoteBy, string ActivityID, string LevelID, List<SqlCommandInfo> commandInfoItem)
//        {
//            //if (this.rblScore.SelectedValue.Trim() == "3" && string.IsNullOrEmpty(this.txtcomment.Text))
//            //{
//            //    return "needcomment";
//            //}
//            if (string.IsNullOrEmpty(ActivityID))
//            {
//                //数据出错
//                return "False";
//            }
//            if (string.IsNullOrEmpty(LevelID))
//            {
//                //活动未开始
//                return "NoStart";
//            }
//            if (string.IsNullOrEmpty(VoteBy))
//            {
//                //未登陆
//                return "OutLogin";
//            }
//            //if (!IsCanVote(VoteBy, ActivityID))
//            //{
//            //    //无权投票
//            //    return "CannotVote";
//            //}
//            string endtimestr = GetEndTime(ActivityID);
//            string begintimestr = GetBeginTime(ActivityID);
//            if (string.IsNullOrEmpty(endtimestr) || string.IsNullOrEmpty(begintimestr))
//            {
//                //活动未开始
//                return "NoStart";
//            }
//            DateTime endtime = Convert.ToDateTime(endtimestr).Date.AddDays(1).AddSeconds(-1);
//            DateTime begintime = Convert.ToDateTime(begintimestr).Date;
//            if (DateTime.Now > endtime)
//            {
//                //活动结束
//                return "End";
//            }
//            if (begintime > DateTime.Now)
//            {
//                //活动未开始
//                return "NoStart";
//            }
//            //if (VoteType == ModuleEnums.EnumVoteType.OneToOne.ToString())
//            //{
//            //    bool rs = VoteRecord.IsVote(VoteBy, LevelID);
//            //    if (rs)
//            //    {
//            //        return "OneToOne";
//            //    }
//            //}
//            //if (VoteRecord.IsVote(VoteBy, LevelID, ItemID))
//            //{
//            //    //已投票
//            //    return "Voted";
//            //}



//            int count = 0;

//            count = RunSQLTransaction(commandInfoItem);
//            if (count > 0)
//            {
//                return count.ToString();
//            }
//            return "False";
//        }
//        /// <summary>
//        /// 获取结束时间（最晚）
//        /// </summary>
//        /// <param name="ActivityID">活动ID</param>
//        /// <returns></returns>
//        public static string GetEndTime(string ActivityID)
//        {
//            using (SqlCommand cmd = new SqlCommand())
//            {
//                StringBuilder sbSql = new StringBuilder();
//                sbSql.Append(@"SELECT Max(data.EndTime) from tblVoteLevel data
//                                 where 1=1 ");
//                if (!string.IsNullOrEmpty(ActivityID))
//                {
//                    sbSql.Append(" and data.ActivityID = @ActivityID");
//                    cmd.Parameters.Add("@ActivityID", SqlDbType.NVarChar).Value = ActivityID;

//                }
//                cmd.CommandText = sbSql.ToString();
//                object obj = DBManager.DBSettings["SXT.DefaultDBEx"].ExecuteScalar(cmd);
//                if (obj != null)
//                {
//                    return Convert.ToString(obj);
//                }
//                else
//                {
//                    return "";
//                }
//            }
//        }

//        /// <summary>
//        /// 获取开始时间（最早）
//        /// </summary>
//        /// <param name="ActivityID">活动ID</param>
//        /// <returns></returns>
//        public static string GetBeginTime(string ActivityID)
//        {
//            using (SqlCommand cmd = new SqlCommand())
//            {
//                StringBuilder sbSql = new StringBuilder();
//                sbSql.Append(@"SELECT min(data.BeginTime) from tblVoteLevel data
//                                 where 1=1 ");
//                if (!string.IsNullOrEmpty(ActivityID))
//                {
//                    sbSql.Append(" and data.ActivityID = @ActivityID");
//                    cmd.Parameters.Add("@ActivityID", SqlDbType.NVarChar).Value = ActivityID;

//                }
//                cmd.CommandText = sbSql.ToString();
//                object obj = DBManager.DBSettings["SXT.DefaultDBEx"].ExecuteScalar(cmd);
//                if (obj != null)
//                {
//                    return Convert.ToString(obj);
//                }
//                else
//                {
//                    return "";
//                }
//            }
//        }

//        /// <summary>
//        /// 事务
//        /// </summary>
//        /// <param name="sqls">多条sql语句存放到ArrayList里,传参进来</param>
//        public static int RunSQLTransaction(List<SqlCommandInfo> commandInfoItem)
//        {
//            string conn=System.Configuration.ConfigurationManager.ConnectionStrings["SXT.DefaultDBEx"].ConnectionString;
//            int rs = 0;
//            SqlConnection Connection = new SqlConnection(conn);
//            int i = 0;

//            SqlTransaction tran; //定义事务

//            SqlCommand Cmd = Connection.CreateCommand();
//            Connection.Open();
//            tran = Connection.BeginTransaction();//事务开始
//            Cmd.Connection = Connection;
//            Cmd.Transaction = tran;//事务关联
//            try
//            {
//                for (i = 0; i < commandInfoItem.Count; i++)
//                {
//                    Cmd.CommandText = commandInfoItem[i].SqlString;
//                    Cmd.Parameters.Clear();
//                    foreach (string key in commandInfoItem[i].CommandParas.Keys)
//                    {
//                        var para = commandInfoItem[i].CommandParas[key];
//                        Cmd.Parameters.Add(key, para.SqlDbType).Value = para.Value;
//                    }
//                    Cmd.ExecuteNonQuery();
//                }
//                tran.Commit();//全部成功提交
//                rs = 1;
//            }
//            catch (Exception ex)
//            {
//                SXT.Utility.ExceptionLogs.Write(ex);
//                tran.Rollback();//有一个失败,回滚
//                rs = 0;
//            }

//            finally
//            {
//                tran.Dispose();
//                Cmd.Dispose();
//                Connection.Close();
//                Connection.Dispose();
//            }
//            return rs;
//        }

//        /// <summary>
//        /// 获取当前阶段
//        /// </summary>
//        /// <param name="ActivityID">活动ID</param>
//        /// <returns></returns>
//        public static VoteLevel GetCurrentLevel(string ActivityID)
//        {
//            VoteLevel oModel = new VoteLevel();
//            DataTable dt = GetGridData(ActivityID).Tables[0];
//            string tempLevelID = "";
//            bool flag = true;
//            DateTime tempEndTime = DateTime.Now;
//            foreach (DataRow dr in dt.Rows)
//            {
//                DateTime dtBeginTime = Convert.ToDateTime(dr["BeginTime"]).Date;
//                DateTime dtEndTime = Convert.ToDateTime(dr["EndTime"]).Date.AddDays(1).AddSeconds(-1);
//                DateTime dtNow = DateTime.Now;
//                if (dtBeginTime < dtNow && dtEndTime > dtNow)
//                {
//                    oModel.ActivityID = Convert.ToString(dr["ActivityID"]);
//                    oModel.BeginTime = dtBeginTime;
//                    oModel.CreateTime = Convert.ToDateTime(dr["CreateTime"]);
//                    //oModel.CreateBy = Convert.ToString(dr["CreateBy"]);
//                    //oModel.Enabled = Convert.ToString(dr["Enabled"])=="1";
//                    oModel.EndTime = dtEndTime;
//                    oModel.LevelID = Convert.ToString(dr["LevelID"]);
//                    oModel.LevelName = Convert.ToString(dr["LevelName"]);
//                    oModel.VoteIng = true;
//                    break;
//                }
//                if (flag)
//                {
//                    tempEndTime = dtEndTime;
//                    tempLevelID = Convert.ToString(dr["LevelID"]);
//                    flag = false;
//                }
//                else
//                {
//                    if (tempEndTime > dtBeginTime)
//                    {
//                        tempLevelID = Convert.ToString(dr["LevelID"]);
//                    }
//                }
//            }
//            if (string.IsNullOrEmpty(oModel.LevelID))
//            {
//                oModel.LevelID = tempLevelID;
//                oModel.Load();
//                oModel.VoteIng = false;
//            }

//            return oModel;

//        }

//        /// <summary>
//        /// 获取GetDataGrid数据源
//        /// </summary>
//        /// <returns></returns>
//        public static DataSet GetGridData(string ActivityID)
//        {
//            using (SqlCommand cmd = new SqlCommand())
//            {
//                StringBuilder sbSql = new StringBuilder();
//                sbSql.Append(@"SELECT data.LevelID,data.LevelName,data.ActivityID,data.BeginTime,
//                                data.EndTime,data.Enabled,data.CreateBy,data.CreateTime,data.ModifyBy,data.ModifyTime from tblVoteLevel data
//                                 where 1=1 ");
//                if (!string.IsNullOrEmpty(ActivityID))
//                {
//                    sbSql.Append(" and data.ActivityID = @ActivityID");
//                    cmd.Parameters.Add("@ActivityID", SqlDbType.NVarChar).Value = ActivityID;

//                }
//                sbSql.Append(" order by BeginTime ");

//                cmd.CommandText = sbSql.ToString();
//                return DBManager.DBSettings["SXT.DefaultDBEx"].ExecuteDataSet(cmd);
//            }
//        }
//    }
//}